一年多没有更新博客,拉下来 hexo s
发现生成的页面是空白的,并且也没有报错
查了资料发现是没有 下载 _config.yml 中配置的 theme: next
于是 去 next 官网找到 相应的下载命令
1 | git clone https://github.com/iissnan/hexo-theme-next themes/next |
发现下载的速度令人发指 ,于是 切换 npm 包源
1 | git clone https://github.com.cnpmjs.org/iissnan/hexo-theme-next themes/next |
之后再 hexo s --debug
,久违的博客页面终于显示了出来。
接下来就是部署到 github page 上
新的问题
hexo d -g
之后发现报错 The "mode" argument must be integer. Received an instance of Object
网上查找发现是 因为 npm 版本过高引起的问题
我总不能切回旧版本 node ,写别的项目再切回去吧
本着用新不用旧的原则 ,开始升级 hexo
升级 hexo
这里使用 npm-upgrade 来进行 packge.json 的更新
1 | npm install -g npm-upgrade |
操作后我的 package 如下
1 | { |
升级后的新问题
升级后部署到 github page ,果然又出现了新的问题,发现部署之后的网站只显示了
hexo {% extends '_layout.swig' %}
使用 debug 发现一个 warn
1 | INFO Validating config |
原来是 external_link 这个 属性被改成了 object 类型,马上去修改 _config.yml
1 | external_link: |
再次 hexo s
发现 问题并没有解决
从 issue: 与 hexo 5 不兼容 找到了解决办法,原来是 Hexo 5 把 swig 渲染插件删了,需要单独安装
1 | npm i hexo-renderer-swig |
再 hexo s
成功
小调整
next 主题下的 翻页出现显示的问题,直接改成
1 | {% if page.prev or page.next %} |